package com.jtbd.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 课程表 课程作为学习报名依据
 *
 * @TableName course
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Course {
    /**
     *
     */
    private Long id;
    /**
     * 校区id
     */
    private Long campusId;
    /**
     * 课程名称
     */
    private String courseName;

    /**
     * 课程描述
     */
    private String courseDesc;

    /**
     * 总共有多少个课时
     */
    private Integer courseTotalTime;

    /**
     * 课程科目IDs
     */
    private String courseSubjectIds;

    /**
     * 课程科目
     */
    private String courseSubject;

    /**
     * 课程类别 1 线下课 2 线上课
     */
    private Integer courseCategory;

    /**
     * 课程类型 1 体验课 2 正式
     */
    private Integer courseType;

    /**
     * 课程等级 1 初级 2 中级 3 高级
     */
    private Integer courseLevel;

    /**
     * 课程价格
     */
    private BigDecimal coursePrice;

    /**
     * 课程折扣
     */
    private BigDecimal courseDiscount;

    /**
     * 课程开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date courseStartDate;

    /**
     * 课程结束日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date courseEndDate;

    /**
     * 课程状态 0 - 未开始，1 - 进行中，2 - 已结课
     */
    private Integer courseStatus;

    /**
     * 课程备注
     */
    private String courseRemark;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 创建人
     */
    private Long createId;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 更新人
     */
    private Long updateId;
}